#pragma once

#include "common/common.h"

#ifdef WINDOWS
#   define MCP_PRINTF   _tprintf_s
#else
#   define MCP_PRINTF   printf
#endif

namespace PILO 
{
    namespace Core
    {
        namespace String 
        {

            size_t FormatOutputToConsole(const char * fmt, ...);
            size_t FormatOutputToConsole(const wchar_t * fmt, ...);
            size_t FormatOutputToString(wchar_t * buf, size_t len, const wchar_t * fmt, ...);
            size_t FormatOutputToString(char * buf, size_t len, const char * fmt, ...);

            size_t VaArgsFormat(char * buf, size_t len, const char * fmt, va_list args);
            size_t VaArgsFormat(wchar_t * buf, size_t len, const wchar_t * fmt, va_list args);

        } /* String */ 
    }
} /* PILO */
